//
//  main.m
//  代理
//
//  Created by hyl on 16/4/9.
//  Copyright © 2016年 hyl. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "Person.h"
#import "Agent.h"
#import "Friend.h"
int main(int argc, const char * argv[]) {
    Person *p=[[Person alloc]init];
    Agent *a=[[Agent alloc]init];
    Friend *f=[[Friend alloc]init];
    p.delegate=a;
    [p findHouse];
    
    p.delegate=f;
    [p findHouse];
    return 0;
}

//实例：学生找房子
//一个学生类（Person），一个中介对象（代理）(Agent)
//学生与中介有个协议；代理必需要有找房子的功能
//那么就是以下这个样子了
//第一：新建一个Person类，协议属于人，命名方式为类名＋Protocol   例PersonPortocol
//第二：协议里实现人需要的需求 一般规范：协议名protocol前边的部分＋真正方法名  例：personFindHouse
//第三：定义一个代理属性方便调用代理，一般id限定协议类型 @property(nonatomic,strong)id<PersonProtocol> delegate;
//第四：参照博客里写的